package com.zmn.plat.model.dto.company;

import lombok.Builder;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 类描述：新增企业注册消息DTO
 *
 * @author LiuZhengRun
 * @since 2021/03/22 17:50
 */
@Data
@Builder
public class InvoiceAddCompanyRegisterMessageDTO implements Serializable {

    /**
     * 平台
     */
    @NotNull(message = "平台不能为空")
    private Integer plat;

    /**
     * 身份id
     */
    @NotNull(message = "身份id不能为空")
    private Integer identityId;

    /**
     * 身份名称
     */
    @NotBlank(message = "身份名称不能为空")
    private String identityName;

    /**
     * 身份对象ID
     */
    @NotNull(message = "身份对象ID不能为空")
    private Integer identityObjectId;

    /**
     * 身份对象名称
     */
    @NotBlank(message = "身份对象名称(开票方)不能为空")
    private String identityObjectName;

    /**
     * 企业简称(不超过7个汉字)
     */
    @NotBlank(message = "企业简称不能为空")
    @Length(max = 7, message = "企业简称不能超过7个汉字")
    private String enterpriseAbbrName;

    /**
     * 企业电话
     */
    @NotBlank(message = "企业电话不能为空")
    private String enterprisePhone;

    /**
     * 企业法人
     */
    @NotBlank(message = "企业法人不能为空")
    private String corporateRepresentative;

    /**
     * 企业地址
     */
    @NotBlank(message = "企业地址不能为空")
    private String enterpriseAddress;

    /**
     * 开户银行
     */
    @NotBlank(message = "开户银行不能为空")
    private String bankName;

    /**
     * 银行账户
     */
    @NotBlank(message = "银行账户不能为空")
    private String bankAccount;

    /**
     * 省份ID
     */
    @NotNull(message = "省份ID不能为空")
    private Integer provinceId;

    /**
     * 省份名称，比如广东省
     */
    @NotBlank(message = "省份名称不能为空")
    private String provinceName;

    /**
     * 城市ID
     */
    @NotNull(message = "城市ID不能为空")
    private Integer cityId;

    /**
     * 城市名称，例如深圳市
     */
    @NotBlank(message = "城市名称不能为空")
    private String cityName;

    /**
     * 操作人
     */
    @NotBlank(message = "操作人不能为空")
    private String operator;

}
